package javawdw.util.param;

import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * 参数初始化工具类
 * 
 * @author 王大卫
 * 
 */
public class ParamLoader {
	private String head;
	private String end;

	/**
	 * 根据参数名称头构造参数初始化工具<br>
	 * 如要初始化的内容为"密码是:password", 参数为password, 则参数头应该设置为":"
	 * 
	 * @param head
	 *            参数名称头
	 */
	public ParamLoader(String head) {
		this.head = head;
		this.end = "";
	}

	/**
	 * 根据参数名称头、参数名称尾构造参数初始化工具<br>
	 * 如要初始化的内容为"密码是${password}", 参数为password, 则参数头应该设置为"${", 参数尾应该设置为"}"
	 * 
	 * @param head
	 *            参数名称头
	 * @param end
	 *            参数名称尾
	 */
	public ParamLoader(String head, String end) {
		this.head = head;
		this.end = end;
	}

	/**
	 * 内容的参数初始化
	 * 
	 * @param content
	 *            要初始化的内容
	 * @param param
	 *            参数
	 * @return 返回初始化后的内容
	 */
	public String load(String content, Map<String, String> param) {
		String resultStr = content;
		Set<String> names = param.keySet();
		Iterator<String> iterator = names.iterator();
		while (iterator.hasNext()) {
			String name = iterator.next();
			String dummy = this.head + name + this.end;
			resultStr = resultStr.replaceAll(dummy, param.get(name));
		}
		return resultStr;
	}
}